]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspaceAnimation: Do not create clones for override redirect windows
authorMarco Trevisan (Treviño) <mail@3v1n0.net>
Fri, 26 Apr 2024 17:23:58 +0000 (19:23 +0200)
committerMarco Trevisan <mail@3v1n0.net>
Fri, 26 Apr 2024 18:31:48 +0000 (18:31 +0000)
Override redirect windows manage their own positioning and size alone
and are always sticky, so we're not covering them either with the
animation MonitorsGroup, and thus there's no need to clone them or we'd
end up having two windows painted.

This was causing the shell tray icon window actors (that have no opacity
by default but that are override redirect) to show up during the
animation as their clone animation is not 0.

The other option would be hide them during the animation phase, but
there's no need for this.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3285>

js/ui/workspaceAnimation.js

index c83001496d091e7f70bc9522ada7f97e906eb853..b278113e28ad6e1072506fd212455d3d0b64383d 100644 (file)
@@ -58,6 +58,9 @@ class WorkspaceGroup extends Clutter.Actor {
         if (!window.showing_on_its_workspace() || this._isDesktopWindow(window))
             return false;
 
+        if (window.is_override_redirect())
+            return false;
+
         if (!this._windowIsOnThisMonitor(window))
             return false;